Source:NetHack 3.1.0/extern.h
Below is the full text to extern.h from the source code of NetHack 3.1.0. To link to a particular line, write [[NetHack 3.1.0/extern.h#line123]], for example. Warning! This is the source code from an old release. For the latest release, see Source code 1. /* SCCS Id: @(#)extern.h 3.1 93/01/24 */ 2. /* Copyright © Steve Creps, 1988. */ 3. /* NetHack may be freely redistributed. See license for details. */ 4. 5. #ifndef EXTERN_H 6. #define EXTERN_H 7. 8. #define E extern 9. 10. /* ### alloc.c ### */ 11. 12. E long *FDECL(alloc, (unsigned int)); 13. 14. #if !defined(MAKEDEFS_C) && !defined(LEV_LEX_C) 15. 16. /* ### allmain.c ### */ 17. 18. E void NDECL(moveloop); 19. E void NDECL(stop_occupation); 20. E void NDECL(display_gamewindows); 21. E void NDECL(newgame); 22. 23. /* ### amiwbench.c ### */ 24. 25. #ifdef AMIGA 26. E void NDECL(ami_wbench_init); 27. E void NDECL(ami_wbench_args); 28. E int FDECL(ami_wbench_getsave, (int)); 29. E void FDECL(ami_wbench_unlink, (char *)); 30. E int FDECL(ami_wbench_iconsize, (char *)); 31. E void FDECL(ami_wbench_iconwrite, (char *)); 32. E int FDECL(ami_wbench_badopt, (const char *)); 33. E void NDECL(ami_wbench_cleanup); 34. E void FDECL(getlind, (const char *,char *,const char *)); 35. #endif /* AMIGA */ 36. 37. /* ### apply.c ### */ 38. 39. #ifdef OVERLAY 40. E int NDECL(dig); 41. #endif 42. E int NDECL(doapply); 43. E int NDECL(holetime); 44. E void NDECL(dighole); 45. E int NDECL(dorub); 46. E int NDECL(dojump); 47. #ifdef WALKIES 48. E int NDECL(number_leashed); 49. E void FDECL(o_unleash, (struct obj *)); 50. E void FDECL(m_unleash, (struct monst *)); 51. E void NDECL(unleash_all); 52. E boolean NDECL(next_to_u); 53. E struct obj *FDECL(get_mleash, (struct monst *)); 54. E void FDECL(check_leash, (XCHAR_P,XCHAR_P)); 55. #endif 56. E boolean FDECL(um_dist, (XCHAR_P,XCHAR_P,XCHAR_P)); 57. E boolean FDECL(snuff_candle, (struct obj *)); 58. E boolean FDECL(snuff_lit, (struct obj *)); 59. E void NDECL(check_lamps); 60. E void FDECL(use_unicorn_horn, (struct obj *)); 61. 62. /* ### artifact.c ### */ 63. 64. E void NDECL(init_artifacts); 65. E void FDECL(save_artifacts, (int)); 66. E void FDECL(restore_artifacts, (int)); 67. E const char *FDECL(artiname, (int)); 68. E struct obj *FDECL(mk_artifact, (struct obj *,ALIGNTYP_P)); 69. E const char *FDECL(artifact_name, (const char *,short *)); 70. E boolean FDECL(exist_artifact, (int,const char *)); 71. E void FDECL(artifact_exists, (struct obj *,const char *,BOOLEAN_P)); 72. E int NDECL(nartifact_exist); 73. E boolean FDECL(spec_ability, (struct obj *,unsigned)); 74. E boolean FDECL(restrict_name, (struct obj *,const char *)); 75. E boolean FDECL(defends, (int,struct obj *)); 76. E void FDECL(set_artifact_intrinsic, (struct obj *,BOOLEAN_P,long)); 77. E int FDECL(touch_artifact, (struct obj *,struct monst *)); 78. E int FDECL(spec_abon, (struct obj *,struct permonst *)); 79. E int FDECL(spec_dbon, (struct obj *,struct permonst *,int)); 80. E boolean FDECL(artifact_hit, (struct monst *,struct monst *, 81. struct obj *,int *,int)); 82. E int NDECL(doinvoke); 83. 84. /* ### attrib.c ### */ 85. 86. E boolean FDECL(adjattrib, (int,int,int)); 87. E void FDECL(change_luck, (SCHAR_P)); 88. E int FDECL(stone_luck, (BOOLEAN_P)); 89. E void FDECL(gainstr, (struct obj *,int)); 90. E void FDECL(losestr, (int)); 91. E void NDECL(restore_attrib); 92. E void FDECL(exercise, (int,BOOLEAN_P)); 93. E void NDECL(exerchk); 94. E void FDECL(init_attr, (int)); 95. E void NDECL(redist_attr); 96. E void FDECL(adjabil, (int,int)); 97. E int NDECL(newhp); 98. E schar FDECL(acurr, (int)); 99. E schar NDECL(acurrstr); 100. E void FDECL(adjalign, (int)); 101. 102. /* ### ball.c ### */ 103. 104. E void NDECL(ballfall); 105. E void NDECL(placebc); 106. E void NDECL(unplacebc); 107. E int NDECL(bc_order); 108. E void FDECL(set_bc, (int)); 109. E void FDECL(move_bc, (int,int,XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P)); 110. E boolean FDECL(drag_ball, (XCHAR_P,XCHAR_P, 111. int *,xchar *,xchar *,xchar *,xchar *)); 112. E void FDECL(drop_ball, (XCHAR_P,XCHAR_P)); 113. E void NDECL(drag_down); 114. 115. /* ### bones.c ### */ 116. 117. E void NDECL(savebones); 118. E int NDECL(getbones); 119. 120. /* ### botl.c ### */ 121. 122. E int FDECL(xlev_to_rank, (int)); 123. E int FDECL(title_to_mon, (const char *,int *,int *)); 124. E void NDECL(max_rank_sz); 125. E const char *FDECL(rank_of, (unsigned,CHAR_P,BOOLEAN_P)); 126. E void NDECL(bot); 127. 128. /* ### cmd.c ### */ 129. 130. #ifdef OVERLAY 131. E int NDECL(doextcmd); 132. #ifdef POLYSELF 133. E int NDECL(domonability); 134. #endif /* POLYSELF */ 135. E int NDECL(doprev_message); 136. E int NDECL(timed_occupation); 137. #if defined(WIZARD) || defined(EXPLORE_MODE) 138. E int NDECL(wiz_attributes); 139. #endif /* WIZARD */ 140. # ifdef EXPLORE_MODE 141. E int NDECL(enter_explore_mode); 142. # endif /* EXPLORE_MODE */ 143. #ifdef WIZARD 144. E int NDECL(wiz_detect); 145. E int NDECL(wiz_genesis); 146. E int NDECL(wiz_identify); 147. E int NDECL(wiz_level_tele); 148. E int NDECL(wiz_map); 149. E int NDECL(wiz_where); 150. E int NDECL(wiz_wish); 151. #endif /* WIZARD */ 152. #endif /* OVERLAY */ 153. E void NDECL(reset_occupations); 154. E void FDECL(set_occupation, (int (*)(void),const char *,int)); 155. #ifdef REDO 156. E char NDECL(pgetchar); 157. E void FDECL(pushch, (CHAR_P)); 158. E void FDECL(savech, (CHAR_P)); 159. #endif 160. E void FDECL(rhack, (char *)); 161. E int NDECL(doextlist); 162. E void FDECL(enlightenment, (BOOLEAN_P)); 163. E int FDECL(xytod, (SCHAR_P,SCHAR_P)); 164. #ifdef WALKIES 165. E void FDECL(dtoxy, (coord *,int)); 166. #endif 167. E int FDECL(movecmd, (CHAR_P)); 168. E int FDECL(getdir, (const char *)); 169. E void NDECL(confdir); 170. E int FDECL(isok, (int,int)); 171. E char NDECL(readchar); 172. 173. /* ### dbridge.c ### */ 174. 175. E boolean FDECL(is_pool, (int,int)); 176. E boolean FDECL(is_lava, (int,int)); 177. E boolean FDECL(is_ice, (int,int)); 178. E int FDECL(is_drawbridge_wall, (int,int)); 179. E boolean FDECL(is_db_wall, (int,int)); 180. E boolean FDECL(find_drawbridge, (int *,int*)); 181. E boolean FDECL(create_drawbridge, (int,int,int,BOOLEAN_P)); 182. E void FDECL(open_drawbridge, (int,int)); 183. E void FDECL(close_drawbridge, (int,int)); 184. E void FDECL(destroy_drawbridge, (int,int)); 185. 186. /* ### decl.c ### */ 187. 188. E void NDECL(decl_init); 189. 190. /* ### detect.c ### */ 191. 192. E struct obj *FDECL(o_in, (struct obj*,CHAR_P)); 193. E int FDECL(gold_detect, (struct obj *)); 194. E int FDECL(food_detect, (struct obj *)); 195. E int FDECL(object_detect, (struct obj *,int)); 196. E int FDECL(monster_detect, (struct obj *,int)); 197. E int FDECL(trap_detect, (struct obj *)); 198. E const char *FDECL(level_distance, (d_level *)); 199. E void FDECL(use_crystal_ball, (struct obj *)); 200. E void NDECL(do_mapping); 201. E void NDECL(do_vicinity_map); 202. #ifdef OVERLAY 203. E void FDECL(findone, (int,int,genericptr_t)); 204. E void FDECL(openone, (int,int,genericptr_t)); 205. #endif /* OVERLAY */ 206. E int NDECL(findit); 207. E int NDECL(openit); 208. E int FDECL(dosearch0, (int)); 209. E int NDECL(dosearch); 210. 211. /* ### display.c ### */ 212. 213. #ifdef INVISIBLE_OBJECTS 214. E struct obj * FDECL(vobj_at, (XCHAR_P,XCHAR_P)); 215. #endif /* INVISIBLE_OBJECTS */ 216. E void FDECL(map_background, (XCHAR_P,XCHAR_P,int)); 217. E void FDECL(map_trap, (struct trap *,int)); 218. E void FDECL(map_object, (struct obj *,int)); 219. E void FDECL(unmap_object, (int,int)); 220. E void FDECL(feel_location, (XCHAR_P,XCHAR_P)); 221. E void FDECL(newsym, (XCHAR_P,XCHAR_P)); 222. E void FDECL(shieldeff, (XCHAR_P,XCHAR_P)); 223. E void FDECL(tmp_at, (int,int)); 224. E void FDECL(swallowed, (int)); 225. E void FDECL(under_water, (int)); 226. E void NDECL(see_monsters); 227. E void NDECL(set_mimic_blocking); 228. E void NDECL(see_objects); 229. E void NDECL(curs_on_u); 230. E int NDECL(doredraw); 231. E void NDECL(docrt); 232. E void FDECL(show_glyph, (XCHAR_P,XCHAR_P,int)); 233. E void NDECL(clear_glyph_buffer); 234. E void FDECL(row_refresh, (int,int,int)); 235. E void NDECL(cls); 236. E void FDECL(flush_screen, (int)); 237. E int FDECL(back_to_glyph, (XCHAR_P,XCHAR_P)); 238. E int FDECL(zapdir_to_glyph, (int,int,int)); 239. E int FDECL(glyph_at, (XCHAR_P,XCHAR_P)); 240. 241. /* ### do.c ### */ 242. 243. #ifdef OVERLAY 244. E int FDECL(drop, (struct obj *)); 245. E int NDECL(wipeoff); 246. #endif 247. E int NDECL(dodrop); 248. E boolean FDECL(boulder_hits_pool, (struct obj *,int,int,BOOLEAN_P)); 249. E boolean FDECL(flooreffects, (struct obj *,int,int,const char *)); 250. E void FDECL(doaltarobj, (struct obj *)); 251. E boolean FDECL(canletgo, (struct obj *,const char *)); 252. E void FDECL(dropx, (struct obj *)); 253. E void FDECL(dropy, (struct obj *)); 254. E int NDECL(doddrop); 255. E int NDECL(dodown); 256. E int NDECL(doup); 257. #ifdef INSURANCE 258. E void NDECL(save_currentstate); 259. #endif 260. E void FDECL(goto_level, (d_level *,BOOLEAN_P,BOOLEAN_P,BOOLEAN_P)); 261. E void NDECL(deferred_goto); 262. E void FDECL(revive_corpse, (struct obj *,int,BOOLEAN_P)); 263. E void FDECL(remove_cadavers, (struct obj **)); 264. E int NDECL(donull); 265. E int NDECL(dowipe); 266. E struct obj *FDECL(splitobj, (struct obj *,long)); 267. E void FDECL(set_wounded_legs, (long,int)); 268. E void NDECL(heal_legs); 269. 270. /* ### do_name.c ### */ 271. 272. E void FDECL(getpos, (coord *,BOOLEAN_P,const char *)); 273. E struct monst *FDECL(christen_monst, (struct monst *,const char *)); 274. E int NDECL(do_mname); 275. E struct obj *FDECL(oname, (struct obj *,const char *,int)); 276. E int NDECL(ddocall); 277. E void FDECL(docall, (struct obj *)); 278. E char *FDECL(x_monnam, (struct monst *,int,const char *,int)); 279. E char *FDECL(l_monnam, (struct monst *)); 280. E char *FDECL(mon_nam, (struct monst *)); 281. E char *FDECL(Monnam, (struct monst *)); 282. E char *FDECL(Adjmonnam, (struct monst *,const char *)); 283. E char *FDECL(Amonnam, (struct monst *)); 284. E char *FDECL(a_monnam, (struct monst *)); 285. E const char *NDECL(rndmonnam); 286. E const char *NDECL(hcolor); 287. E char *FDECL(self_pronoun, (const char *,const char *)); 288. #ifdef REINCARNATION 289. E const char *NDECL(roguename); 290. #endif 291. 292. /* ### do_wear.c ### */ 293. 294. #ifdef OVERLAY 295. E int NDECL(Armor_on); 296. E int NDECL(Boots_on); 297. E int NDECL(Gloves_on); 298. E int NDECL(Helmet_on); 299. E int FDECL(select_off, (struct obj *)); 300. E int NDECL(take_off); 301. #endif 302. E void FDECL(off_msg, (struct obj *)); 303. E boolean FDECL(is_helmet, (struct obj *)); 304. E boolean FDECL(is_gloves, (struct obj *)); 305. E boolean FDECL(is_boots, (struct obj *)); 306. E boolean FDECL(is_cloak, (struct obj *)); 307. E boolean FDECL(is_shield, (struct obj *)); 308. E void NDECL(set_wear); 309. E boolean FDECL(donning, (struct obj *)); 310. E void NDECL(cancel_don); 311. E int NDECL(Armor_off); 312. E int NDECL(Armor_gone); 313. E int NDECL(Helmet_off); 314. E int NDECL(Gloves_off); 315. E int NDECL(Boots_off); 316. E int NDECL(Cloak_off); 317. E int NDECL(Shield_off); 318. E void NDECL(Amulet_off); 319. E void FDECL(Ring_on, (struct obj *)); 320. E void FDECL(Ring_off, (struct obj *)); 321. E void FDECL(Ring_gone, (struct obj *)); 322. E void FDECL(Blindf_on, (struct obj *)); 323. E void FDECL(Blindf_off, (struct obj *)); 324. E int NDECL(dotakeoff); 325. E int NDECL(doremring); 326. E int FDECL(cursed, (struct obj *)); 327. E int FDECL(armoroff, (struct obj *)); 328. E int NDECL(dowear); 329. E int NDECL(doputon); 330. E void NDECL(find_ac); 331. E void NDECL(glibr); 332. E struct obj *NDECL(some_armor); 333. E void FDECL(erode_armor, (BOOLEAN_P)); 334. E void NDECL(reset_remarm); 335. E int NDECL(doddoremarm); 336. E int FDECL(destroy_arm, (struct obj *)); 337. E void FDECL(adj_abon, (struct obj *,SCHAR_P)); 338. 339. /* ### dog.c ### */ 340. 341. E void FDECL(initedog, (struct monst *)); 342. E void FDECL(make_familiar, (struct obj *,XCHAR_P,XCHAR_P)); 343. E struct monst *NDECL(makedog); 344. E void NDECL(losedogs); 345. E void NDECL(keepdogs); 346. E void FDECL(migrate_to_level, (struct monst *,XCHAR_P,XCHAR_P)); 347. E int FDECL(dogfood, (struct monst *,struct obj *)); 348. E struct monst *FDECL(tamedog, (struct monst *,struct obj *)); 349. 350. /* ### dogmove.c ### */ 351. 352. E int FDECL(dog_move, (struct monst *,int)); 353. #ifdef OVERLAY 354. E void FDECL(wantdoor, (int,int,genericptr_t)); 355. #endif 356. 357. /* ### dokick.c ### */ 358. 359. E boolean FDECL(ghitm, (struct monst *,struct obj *)); 360. E int NDECL(dokick); 361. E boolean FDECL(ship_object, (struct obj *,XCHAR_P,XCHAR_P,BOOLEAN_P)); 362. E void NDECL(obj_delivery); 363. E xchar FDECL(down_gate, (XCHAR_P,XCHAR_P)); 364. E void FDECL(impact_drop, (struct obj *,XCHAR_P,XCHAR_P,XCHAR_P)); 365. 366. /* ### dothrow.c ### */ 367. 368. E int NDECL(dothrow); 369. E void FDECL(hurtle, (int,int,int)); 370. E int FDECL(throwit, (struct obj *)); 371. E int FDECL(thitmonst, (struct monst *,struct obj *)); 372. E int FDECL(breaks, (struct obj *,BOOLEAN_P)); 373. 374. 375. /* ### drawing.c ### */ 376. 377. E int FDECL(def_char_to_objclass, (CHAR_P)); 378. E int FDECL(def_char_to_monclass, (CHAR_P)); 379. E void FDECL(assign_graphics, (uchar *,int)); 380. E void FDECL(switch_graphics, (int)); 381. #ifdef REINCARNATION 382. E void FDECL(assign_rogue_graphics, (BOOLEAN_P)); 383. #endif 384. 385. 386. /* ### dungeon.c ### */ 387. 388. E void FDECL(save_dungeon, (int)); 389. E void FDECL(restore_dungeon, (int)); 390. E void FDECL(insert_branch, (branch *,BOOLEAN_P)); 391. E void NDECL(init_dungeons); 392. E s_level *FDECL(find_level, (const char *)); 393. E s_level *FDECL(Is_special, (d_level *)); 394. E branch *FDECL(Is_branchlev, (d_level *)); 395. E xchar FDECL(ledger_no, (d_level *)); 396. E xchar NDECL(maxledgerno); 397. E xchar FDECL(depth, (d_level *)); 398. E xchar FDECL(dunlev, (d_level *)); 399. E xchar FDECL(dunlevs_in_dungeon, (d_level *)); 400. E xchar FDECL(ledger_to_dnum, (XCHAR_P)); 401. E xchar FDECL(ledger_to_dlev, (XCHAR_P)); 402. E xchar FDECL(deepest_lev_reached, (BOOLEAN_P)); 403. E boolean FDECL(on_level, (d_level *,d_level *)); 404. E void FDECL(next_level, (BOOLEAN_P)); 405. E void FDECL(prev_level, (BOOLEAN_P)); 406. E void NDECL(u_on_sstairs); 407. E void NDECL(u_on_upstairs); 408. E void NDECL(u_on_dnstairs); 409. E boolean FDECL(On_stairs, (XCHAR_P,XCHAR_P)); 410. E void FDECL(get_level, (d_level *,int)); 411. E boolean FDECL(Is_botlevel, (d_level *)); 412. E boolean FDECL(Can_fall_thru, (d_level *)); 413. E boolean FDECL(Can_dig_down, (d_level *)); 414. E boolean FDECL(Can_rise_up, (d_level *)); 415. #ifdef MULDGN 416. E boolean FDECL(In_quest, (d_level *)); 417. E boolean FDECL(In_mines, (d_level *)); 418. E branch *FDECL(dungeon_branch, (const char *)); 419. E boolean FDECL(at_dgn_entrance, (const char *)); 420. #endif 421. E boolean FDECL(In_hell, (d_level *)); 422. E boolean FDECL(In_tower, (d_level *)); 423. E void FDECL(goto_hell, (BOOLEAN_P,BOOLEAN_P)); 424. E void FDECL(assign_level, (d_level *,d_level *)); 425. E void FDECL(assign_rnd_level, (d_level *,d_level *,int)); 426. E int FDECL(induced_align, (int)); 427. E boolean FDECL(Invocation_lev, (d_level *)); 428. E xchar NDECL(level_difficulty); 429. #ifdef WIZARD 430. E void NDECL(print_dungeon); 431. #endif 432. 433. /* ### eat.c ### */ 434. 435. #ifdef OVERLAY 436. E int NDECL(eatmdone); 437. E int NDECL(eatfood); 438. E int NDECL(opentin); 439. E int NDECL(unfaint); 440. #endif 441. #ifdef POLYSELF 442. E boolean FDECL(is_edible, (struct obj *)); 443. #endif 444. E void NDECL(init_uhunger); 445. E int NDECL(Hear_again); 446. E void NDECL(reset_eat); 447. E void FDECL(bill_dummy_object, (struct obj *)); 448. E int NDECL(doeat); 449. E void NDECL(gethungry); 450. E void FDECL(morehungry, (int)); 451. E void FDECL(lesshungry, (int)); 452. E boolean NDECL(is_fainted); 453. E void NDECL(reset_faint); 454. #if 0 455. E void NDECL(sync_hunger); 456. #endif 457. E void FDECL(newuhs, (BOOLEAN_P)); 458. E struct obj *FDECL(floorfood, (const char *,BOOLEAN_P)); 459. E void NDECL(vomit); 460. E int FDECL(eaten_stat, (int,struct obj *)); 461. E void FDECL(food_disappears, (struct obj *)); 462. 463. /* ### end.c ### */ 464. 465. E int NDECL(done1); 466. E int NDECL(done2); 467. #ifdef OVERLAY 468. E int NDECL(done_intr); 469. #endif 470. E void FDECL(done_in_by, (struct monst *)); 471. E void VDECL(panic, (const char *,...)) PRINTF_F(1,2); 472. E void FDECL(done, (int)); 473. #ifdef NOSAVEONHANGUP 474. E void NDECL(hangup); 475. #endif 476. E void FDECL(container_contents, (struct obj *,BOOLEAN_P,BOOLEAN_P)); 477. E void FDECL(terminate, (int)); 478. 479. /* ### engrave.c ### */ 480. 481. E const char *NDECL(random_engraving); 482. #ifdef ELBERETH 483. E int FDECL(sengr_at, (const char *,XCHAR_P,XCHAR_P)); 484. #endif 485. E struct engr *FDECL(engr_at, (XCHAR_P,XCHAR_P)); 486. E void FDECL(u_wipe_engr, (int)); 487. E void FDECL(wipe_engr_at, (XCHAR_P,XCHAR_P,XCHAR_P)); 488. E void FDECL(read_engr_at, (int,int)); 489. E void FDECL(make_engr_at, (int,int,const char *,long,XCHAR_P)); 490. E int NDECL(freehand); 491. E int NDECL(doengrave); 492. E void FDECL(save_engravings, (int,int)); 493. E void FDECL(rest_engravings, (int)); 494. 495. /* ### exper.c ### */ 496. 497. E long FDECL(newuexp, (unsigned)); 498. E int FDECL(experience, (struct monst *,int)); 499. E void FDECL(more_experienced, (int,int)); 500. E void NDECL(losexp); 501. E void NDECL(newexplevel); 502. E void NDECL(pluslvl); 503. E long NDECL(rndexp); 504. 505. /* ### explode.c ### */ 506. 507. E void FDECL(explode, (int,int,int,int,CHAR_P)); 508. 509. /* ### extralev.c ### */ 510. 511. #ifdef REINCARNATION 512. E void NDECL(makeroguerooms); 513. E void FDECL(corr, (int,int)); 514. E void NDECL(makerogueghost); 515. #endif 516. 517. /* ### files.c ### */ 518. 519. E FILE *FDECL(fopen_datafile, (const char *,const char *)); 520. #ifdef MFLOPPY 521. E void NDECL(set_lock_and_bones); 522. #endif 523. E void FDECL(set_levelfile_name, (char *,int)); 524. E int FDECL(create_levelfile, (int)); 525. E int FDECL(open_levelfile, (int)); 526. E void FDECL(delete_levelfile, (int)); 527. E void NDECL(clearlocks); 528. E int FDECL(create_bonesfile, (d_level*,char **)); 529. E int FDECL(open_bonesfile, (d_level*,char **)); 530. E int FDECL(delete_bonesfile, (d_level*)); 531. E void NDECL(compress_bonesfile); 532. E void NDECL(set_savefile_name); 533. #ifdef INSURANCE 534. E void FDECL(save_savefile_name, (int)); 535. #endif 536. #if defined(WIZARD) && !defined(MICRO) 537. E void NDECL(set_error_savefile); 538. #endif 539. E int NDECL(create_savefile); 540. E int NDECL(open_savefile); 541. E int NDECL(delete_savefile); 542. E void FDECL(compress, (const char *)); 543. E void FDECL(uncompress, (const char *)); 544. E boolean FDECL(lock_file, (const char *,int)); 545. E void FDECL(unlock_file, (const char *)); 546. E void FDECL(read_config_file, (const char *)); 547. E void FDECL(check_recordfile, (const char *)); 548. 549. /* ### fountain.c ### */ 550. 551. E void FDECL(dogushforth, (int)); 552. # ifdef OVERLAY 553. E void FDECL(gush, (int,int,genericptr_t)); 554. # endif /* OVERLAY */ 555. E void FDECL(dryup, (XCHAR_P,XCHAR_P)); 556. E void NDECL(drinkfountain); 557. E void FDECL(dipfountain, (struct obj *)); 558. #ifdef SINKS 559. E void FDECL(breaksink, (int,int)); 560. E void NDECL(drinksink); 561. #endif 562. 563. /* ### hack.c ### */ 564. 565. E boolean FDECL(revive_nasty, (int,int,const char*)); 566. E void FDECL(movobj, (struct obj *,XCHAR_P,XCHAR_P)); 567. E boolean FDECL(may_dig, (XCHAR_P,XCHAR_P)); 568. E boolean FDECL(invocation_pos, (XCHAR_P,XCHAR_P)); 569. E void NDECL(domove); 570. E void NDECL(spoteffects); 571. E char *FDECL(in_rooms, (XCHAR_P,XCHAR_P,int)); 572. E void FDECL(check_special_room, (BOOLEAN_P)); 573. E int NDECL(dopickup); 574. E void NDECL(lookaround); 575. E int NDECL(monster_nearby); 576. E void FDECL(nomul, (int)); 577. E void FDECL(losehp, (int,const char *,BOOLEAN_P)); 578. E int NDECL(weight_cap); 579. E int NDECL(inv_weight); 580. E int NDECL(near_capacity); 581. E int NDECL(max_capacity); 582. E boolean FDECL(check_capacity, (const char *)); 583. E int NDECL(inv_cnt); 584. E int FDECL(identify, (struct obj *)); 585. 586. /* ### hacklib.c ### */ 587. 588. E boolean FDECL(digit, (CHAR_P)); 589. E boolean FDECL(letter, (CHAR_P)); 590. E char FDECL(highc, (CHAR_P)); 591. E char FDECL(lowc, (CHAR_P)); 592. E char *FDECL(lcase, (char *)); 593. E char *FDECL(eos, (char *)); 594. E char *FDECL(s_suffix, (const char *)); 595. E char *FDECL(xcrypt, (const char *)); 596. E boolean FDECL(onlyspace, (const char *)); 597. E char *FDECL(tabexpand, (char *)); 598. E char *FDECL(visctrl, (CHAR_P)); 599. E const char *FDECL(ordin, (int)); 600. E char *FDECL(sitoa, (int)); 601. E int FDECL(sgn, (int)); 602. E int FDECL(rounddiv, (long,int)); 603. E int FDECL(dist2, (int,int,int,int)); 604. E int FDECL(distmin, (int,int,int,int)); 605. E boolean FDECL(online2, (int,int,int,int)); 606. E boolean FDECL(pmatch, (const char *,const char *)); 607. #ifndef STRNCMPI 608. E int FDECL(strncmpi, (const char *,const char *,int)); 609. #endif 610. #ifndef STRSTRI 611. # ifndef GCC_WARN 612. E char *FDECL(strstri, (const char *,const char *)); 613. # else 614. E char *FDECL(strstri, (char *,const char *)); 615. # endif 616. #endif 617. E void NDECL(setrandom); 618. E int NDECL(getyear); 619. E char *NDECL(get_date); 620. E int NDECL(phase_of_the_moon); 621. E boolean NDECL(friday_13th); 622. E int NDECL(night); 623. E int NDECL(midnight); 624. 625. /* ### invent.c ### */ 626. 627. #ifdef OVERLAY 628. E int FDECL(ckunpaid, (struct obj *)); 629. #endif 630. E struct obj *FDECL(addinv, (struct obj *)); 631. E struct obj *FDECL(hold_another_object, 632. (struct obj *,const char *,const char *,const char *)); 633. E void FDECL(useup, (struct obj *)); 634. E void FDECL(freeinv, (struct obj *)); 635. E void FDECL(delallobj, (int,int)); 636. E void FDECL(delobj, (struct obj *)); 637. E void FDECL(freeobj, (struct obj *)); 638. E struct obj *FDECL(sobj_at, (int,int,int)); 639. E int FDECL(carried, (struct obj *)); 640. E struct obj *FDECL(carrying, (int)); 641. E boolean NDECL(have_lizard); 642. E struct obj *FDECL(o_on, (unsigned int,struct obj *)); 643. E boolean FDECL(obj_here, (struct obj *,int,int)); 644. E struct obj *FDECL(g_at, (int,int)); 645. E struct obj *FDECL(mkgoldobj, (long)); 646. E struct obj *FDECL(getobj, (const char *,const char *)); 647. E int FDECL(ggetobj, (const char *,int (*)(OBJ_P),int)); 648. E int FDECL(askchain, (struct obj **,const char *,int,int (*)(OBJ_P), 649. int (*)(OBJ_P),int,const char *)); 650. E void FDECL(prinv, (const char *,struct obj *,long)); 651. E char *FDECL(xprname, (struct obj *,CHAR_P,BOOLEAN_P,long)); 652. E int NDECL(ddoinv); 653. E char FDECL(display_inventory, (const char *,BOOLEAN_P)); 654. E int NDECL(dotypeinv); 655. E int NDECL(dolook); 656. E void FDECL(stackobj, (struct obj *)); 657. E int NDECL(doprgold); 658. E int NDECL(doprwep); 659. E int NDECL(doprarm); 660. E int NDECL(doprring); 661. E int NDECL(dopramulet); 662. E int NDECL(doprtool); 663. E void FDECL(useupf, (struct obj *)); 664. E char *FDECL(let_to_name, (CHAR_P,BOOLEAN_P)); 665. E void NDECL(reassign); 666. E int NDECL(doorganize); 667. E int FDECL(count_unpaid, (struct obj *)); 668. 669. /* ### ioctl.c ### */ 670. 671. #ifdef UNIX 672. E void NDECL(getwindowsz); 673. E void NDECL(getioctls); 674. E void NDECL(setioctls); 675. # ifdef SUSPEND 676. E int NDECL(dosuspend); 677. # endif /* SUSPEND */ 678. #endif /* UNIX */ 679. 680. /* ### lock.c ### */ 681. 682. #ifdef OVERLAY 683. E int NDECL(forcelock); 684. E int NDECL(picklock); 685. #endif 686. E boolean FDECL(picking_at, (int,int)); 687. E void NDECL(reset_pick); 688. E int FDECL(pick_lock, (struct obj *)); 689. E int NDECL(doforce); 690. E boolean FDECL(boxlock, (struct obj *,struct obj *)); 691. E boolean FDECL(doorlock, (struct obj *,int,int)); 692. E int NDECL(doopen); 693. E int NDECL(doclose); 694. 695. #ifdef MAC 696. 697. /* ### macerrs.c ### */ 698. 699. E void FDECL(comment, (char *,long)); 700. E void FDECL(showerror, (char *,const char *)); 701. E Boolean FDECL(itworked, (short)); 702. E void FDECL(mustwork, (short)); 703. E void FDECL(attemptingto, (char *)); 704. E void FDECL(pushattemptingto, (char *)); 705. E void NDECL(popattempt); 706. 707. /* ### macfile.c ### */ 708. 709. E int FDECL(maccreat, (const char *,long)); 710. E int FDECL(macopen, (const char *,int,long)); 711. E int FDECL(macclose, (int)); 712. E int FDECL(macread, (int,void *,unsigned)); 713. E int FDECL(macwrite, (int,void *,unsigned)); 714. E long FDECL(macseek, (int,long,short)); 715. 716. /* ### macmain.c ### */ 717. 718. E void NDECL(UnloadAllSegments); 719. 720. /* ### macsnd.c ### */ 721. 722. E void FDECL(mac_speaker, (struct obj *,char *)); 723. 724. /* ### mactopl.c ### */ 725. 726. E void FDECL(addtopl, (const char *)); 727. E void FDECL(update_topl, (const char *)); 728. 729. /* ### macunix.c ### */ 730. 731. E int FDECL(uptodate, (int)); 732. E void FDECL(regularize, (char *)); 733. E void NDECL(getlock); 734. 735. /* ### macwin.c ### */ 736. 737. E void FDECL(addToKeyQueue, (int,Boolean)); 738. 739. /* ### maccurs.c ### */ 740. 741. E int FDECL(clickSector, (int,int,int,int)); 742. 743. 744. #endif /* MAC */ 745. 746. /* ### mail.c ### */ 747. 748. #ifdef MAIL 749. # ifdef UNIX 750. E void NDECL(getmailstatus); 751. # endif 752. E void NDECL(ckmailstatus); 753. E void FDECL(readmail, (struct obj *)); 754. #endif /* MAIL */ 755. 756. /* ### makemon.c ### */ 757. 758. E struct monst *FDECL(makemon, (struct permonst *,int,int)); 759. E boolean FDECL(enexto, (coord *,XCHAR_P,XCHAR_P,struct permonst *)); 760. E int FDECL(goodpos, (int,int,struct monst *,struct permonst *)); 761. E void FDECL(rloc, (struct monst *)); 762. E void FDECL(rloc_to, (struct monst *,int,int)); 763. E void FDECL(rloc_shk, (struct monst *)); 764. E void FDECL(vloc, (struct monst *)); 765. E struct permonst *NDECL(rndmonst); 766. E struct permonst *FDECL(mkclass, (CHAR_P,int)); 767. E int FDECL(adj_lev, (struct permonst *)); 768. E struct permonst *FDECL(grow_up, (struct monst *,struct monst *)); 769. E int FDECL(mongets, (struct monst *,int)); 770. E int FDECL(golemhp, (int)); 771. E boolean FDECL(peace_minded, (struct permonst *)); 772. E void FDECL(set_malign, (struct monst *)); 773. E void FDECL(set_mimic_sym, (struct monst *)); 774. 775. /* ### mcastu.c ### */ 776. 777. E int FDECL(castmu, (struct monst *,struct attack *)); 778. E int FDECL(buzzmu, (struct monst *,struct attack *)); 779. 780. /* ### mhitm.c ### */ 781. 782. E int FDECL(fightm, (struct monst *)); 783. E int FDECL(mattackm, (struct monst *,struct monst *)); 784. E int FDECL(noattacks, (struct permonst *)); 785. 786. /* ### mhitu.c ### */ 787. 788. #ifdef POLYSELF 789. E struct monst *NDECL(cloneu); 790. #endif 791. E void FDECL(expels, (struct monst *,struct permonst *,BOOLEAN_P)); 792. E int FDECL(mattacku, (struct monst *)); 793. E void FDECL(mdamageu, (struct monst *,int)); 794. E int FDECL(could_seduce, (struct monst *,struct monst *,struct attack *)); 795. #ifdef SEDUCE 796. E int FDECL(doseduce, (struct monst *)); 797. #endif 798. 799. /* ### minion.c ### */ 800. 801. E void FDECL(msummon, (struct permonst *)); 802. E void FDECL(summon_minion, (ALIGNTYP_P,BOOLEAN_P)); 803. E int FDECL(demon_talk, (struct monst *)); 804. E long FDECL(bribe, (struct monst *)); 805. E int NDECL(dprince); 806. E int NDECL(dlord); 807. E int NDECL(llord); 808. E int NDECL(ndemon); 809. E int NDECL(lminion); 810. 811. /* ### mklev.c ### */ 812. 813. #ifdef OVERLAY 814. E int FDECL(do_comp, (genericptr_t,genericptr_t)); 815. #endif 816. E void NDECL(sort_rooms); 817. E void FDECL(add_room, (int,int,int,int,BOOLEAN_P,SCHAR_P,BOOLEAN_P)); 818. E void FDECL(add_subroom, (struct mkroom *,int,int,int,int, 819. BOOLEAN_P,SCHAR_P,BOOLEAN_P)); 820. E void NDECL(makecorridors); 821. E void FDECL(add_door, (int,int,struct mkroom *)); 822. E void NDECL(mklev); 823. #ifdef SPECIALIZATION 824. E void FDECL(topologize, (struct mkroom *,BOOLEAN_P)); 825. #else 826. E void FDECL(topologize, (struct mkroom *)); 827. #endif 828. E void FDECL(place_branch, (branch *,XCHAR_P,XCHAR_P)); 829. E boolean FDECL(occupied, (XCHAR_P,XCHAR_P)); 830. E int FDECL(okdoor, (XCHAR_P,XCHAR_P)); 831. E void FDECL(dodoor, (int,int,struct mkroom *)); 832. E void FDECL(mktrap, (int,int,struct mkroom *,coord*)); 833. E void FDECL(mkstairs, (XCHAR_P,XCHAR_P,CHAR_P,struct mkroom *)); 834. E void NDECL(mkinvokearea); 835. 836. /* ### mkmap.c ### */ 837. 838. void FDECL(flood_fill_rm, (int,int,int,BOOLEAN_P,BOOLEAN_P)); 839. 840. /* ### mkmaze.c ### */ 841. 842. E void FDECL(wallification, (int,int,int,int)); 843. E void FDECL(walkfrom, (int,int)); 844. E void FDECL(makemaz, (const char *)); 845. E void FDECL(move, (int *,int *,int)); 846. E void FDECL(mazexy, (coord *)); 847. E void NDECL(bound_digging); 848. E void FDECL(mkportal, (XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P)); 849. E boolean FDECL(bad_location, (XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P)); 850. E void FDECL(place_lregion, (XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P, 851. XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P, 852. XCHAR_P,d_level *)); 853. E void NDECL(movebubbles); 854. E void NDECL(water_friction); 855. E void FDECL(save_waterlevel, (int)); 856. E void FDECL(restore_waterlevel, (int)); 857. 858. /* ### mkobj.c ### */ 859. 860. E struct obj *FDECL(mkobj_at, (CHAR_P,int,int,BOOLEAN_P)); 861. E struct obj *FDECL(mksobj_at, (int,int,int,BOOLEAN_P)); 862. E struct obj *FDECL(mkobj, (CHAR_P,BOOLEAN_P)); 863. E int NDECL(rndmonnum); 864. E struct obj *FDECL(mksobj, (int,BOOLEAN_P,BOOLEAN_P)); 865. E int FDECL(weight, (struct obj *)); 866. E void FDECL(mkgold, (long,int,int)); 867. E struct obj *FDECL(mkcorpstat, (int,struct permonst *,int,int,BOOLEAN_P)); 868. E struct obj *FDECL(mk_tt_object, (int,int,int)); 869. E struct obj *FDECL(mk_named_object, (int,struct permonst *,int,int,char *,int)); 870. E void FDECL(bless, (struct obj *)); 871. E void FDECL(unbless, (struct obj *)); 872. E void FDECL(curse, (struct obj *)); 873. E void FDECL(uncurse, (struct obj *)); 874. E void FDECL(blessorcurse, (struct obj *,int)); 875. E boolean FDECL(is_flammable, (struct obj *)); 876. E void FDECL(place_object, (struct obj *,int,int)); 877. E void FDECL(move_object, (struct obj *,int,int)); 878. E void FDECL(remove_object, (struct obj *)); 879. E int FDECL(bcsign, (struct obj *)); 880. 881. /* ### mkroom.c ### */ 882. 883. E void FDECL(mkroom, (int)); 884. E void FDECL(fill_zoo, (struct mkroom *)); 885. E boolean FDECL(nexttodoor, (int,int)); 886. E boolean FDECL(has_dnstairs, (struct mkroom *)); 887. E boolean FDECL(has_upstairs, (struct mkroom *)); 888. E int FDECL(somex, (struct mkroom *)); 889. E int FDECL(somey, (struct mkroom *)); 890. E boolean FDECL(inside_room, (struct mkroom *,XCHAR_P,XCHAR_P)); 891. E boolean FDECL(somexy, (struct mkroom *,coord *)); 892. E void FDECL(mkundead, (coord *)); 893. E struct permonst *NDECL(courtmon); 894. E void FDECL(save_rooms, (int)); 895. E void FDECL(rest_rooms, (int)); 896. E struct mkroom *FDECL(search_special, (SCHAR_P)); 897. 898. /* ### mon.c ### */ 899. 900. E int FDECL(minwater, (struct monst *)); 901. E void NDECL(movemon); 902. E void FDECL(meatgold, (struct monst *)); 903. E void FDECL(meatobj, (struct monst *)); 904. E void FDECL(mpickgold, (struct monst *)); 905. E void FDECL(mpickgems, (struct monst *)); 906. E void FDECL(mpickstuff, (struct monst *,const char *)); 907. E int FDECL(curr_mon_load, (struct monst *)); 908. E int FDECL(max_mon_load, (struct monst *)); 909. E boolean FDECL(can_carry, (struct monst *,struct obj *)); 910. E int FDECL(mfndpos, (struct monst *,coord *,long *,long)); 911. E boolean FDECL(monnear, (struct monst *,int,int)); 912. E void FDECL(monfree, (struct monst *)); 913. E void FDECL(replmon, (struct monst *,struct monst *)); 914. E void FDECL(relmon, (struct monst *)); 915. E void FDECL(mondead, (struct monst *)); 916. E void FDECL(mondied, (struct monst *)); 917. E void FDECL(mongone, (struct monst *)); 918. E void FDECL(monstone, (struct monst *)); 919. E void FDECL(monkilled, (struct monst *,const char *,UCHAR_P)); 920. E void FDECL(unstuck, (struct monst *)); 921. E void FDECL(killed, (struct monst *)); 922. E void FDECL(xkilled, (struct monst *,int)); 923. E void FDECL(mon_to_stone, (struct monst*)); 924. E void FDECL(mnexto, (struct monst *)); 925. E boolean FDECL(mnearto, (struct monst *,XCHAR_P,XCHAR_P,BOOLEAN_P)); 926. E void FDECL(poisontell, (int)); 927. E void FDECL(poisoned, (const char *,int,const char *,int)); 928. E void FDECL(m_respond, (struct monst *)); 929. E void FDECL(setmangry, (struct monst *)); 930. E void FDECL(wakeup, (struct monst *)); 931. E void NDECL(wake_nearby); 932. E void FDECL(seemimic, (struct monst *)); 933. E void NDECL(rescham); 934. E void NDECL(restartcham); 935. E int FDECL(newcham, (struct monst *,struct permonst *)); 936. E void FDECL(golemeffects, (struct monst *,int,int)); 937. E boolean FDECL(angry_guards, (BOOLEAN_P)); 938. E void NDECL(pacify_guards); 939. 940. /* ### mondata.c ### */ 941. 942. E boolean FDECL(attacktype, (struct permonst *,int)); 943. E boolean FDECL(poly_when_stoned, (struct permonst *)); 944. E boolean FDECL(resists_drli, (struct permonst *)); 945. E boolean FDECL(ranged_attk, (struct permonst *)); 946. E boolean FDECL(hates_silver, (struct permonst *)); 947. E boolean FDECL(can_track, (struct permonst *)); 948. #ifdef POLYSELF 949. E boolean FDECL(breakarm, (struct permonst *)); 950. E boolean FDECL(sliparm, (struct permonst *)); 951. #endif 952. E boolean FDECL(sticks, (struct permonst *)); 953. /* E boolean FDECL(canseemon, (struct monst *)); */ 954. E boolean FDECL(dmgtype, (struct permonst *,int)); 955. E int FDECL(max_passive_dmg, (struct monst *,struct monst *)); 956. E int FDECL(monsndx, (struct permonst *)); 957. E int FDECL(name_to_mon, (char *)); 958. #ifdef POLYSELF 959. E boolean FDECL(webmaker, (struct permonst *)); 960. #endif 961. E int FDECL(gender, (struct monst *)); 962. E boolean FDECL(levl_follower, (struct monst *)); 963. E struct permonst *NDECL(player_mon); 964. E int FDECL(little_to_big, (int)); 965. E int FDECL(big_to_little, (int)); 966. E const char *FDECL(locomotion, (const struct permonst *,const char *)); 967. 968. /* ### monmove.c ### */ 969. 970. # ifdef POLYSELF 971. E boolean FDECL(itsstuck, (struct monst *)); 972. # endif 973. E boolean FDECL(mb_trapped, (struct monst *)); 974. E int FDECL(dochugw, (struct monst *)); 975. E boolean FDECL(onscary, (int,int,struct monst *)); 976. E int FDECL(dochug, (struct monst *)); 977. E int FDECL(m_move, (struct monst *,int)); 978. E boolean FDECL(closed_door, (int,int)); 979. E boolean FDECL(accessible, (int,int)); 980. E void FDECL(set_apparxy, (struct monst *)); 981. 982. /* ### monst.c ### */ 983. 984. E void NDECL(monst_init); 985. 986. /* ### monstr.c ### */ 987. 988. E void NDECL(monstr_init); 989. 990. /* ### mplayer.c ### */ 991. 992. E struct monst *FDECL(mk_mplayer, (struct permonst *,XCHAR_P, 993. XCHAR_P,BOOLEAN_P)); 994. E void FDECL(create_mplayers, (int,BOOLEAN_P)); 995. E void FDECL(mplayer_talk, (struct monst *)); 996. 997. #ifdef MICRO 998. 999. /* ### msdos.c,os2.c,tos.c ### */ 1000. 1001. E int NDECL(tgetch); 1002. # ifndef TOS 1003. E char NDECL(switchar); 1004. # endif 1005. # ifndef __GO32__ 1006. E long FDECL(freediskspace, (char *)); 1007. E int FDECL(findfirst, (char *)); 1008. E int NDECL(findnext); 1009. E char *NDECL(foundfile_buffer); 1010. E long FDECL(filesize, (char *)); 1011. # endif /* __GO32__ */ 1012. E void FDECL(chdrive, (char *)); 1013. # ifndef TOS 1014. E void NDECL(disable_ctrlP); 1015. E void NDECL(enable_ctrlP); 1016. # endif 1017. # if defined(MICRO) && !defined(AMIGA) 1018. E void NDECL(get_scr_size); 1019. # ifndef TOS 1020. E void FDECL(gotoxy, (int,int)); 1021. # endif 1022. # endif 1023. # ifdef TOS 1024. E int FDECL(_copyfile, (char *,char *)); 1025. E int NDECL(kbhit); 1026. E void NDECL(set_colors); 1027. E void NDECL(restore_colors); 1028. # ifdef SUSPEND 1029. E int NDECL(dosuspend); 1030. # endif 1031. # endif /* TOS */ 1032. 1033. #endif /* MICRO */ 1034. 1035. /* ### mthrowu.c ### */ 1036. 1037. E int FDECL(thitu, (int,int,struct obj *,const char *)); 1038. E void FDECL(thrwmu, (struct monst *)); 1039. E int FDECL(spitmu, (struct monst *,struct attack *)); 1040. E int FDECL(breamu, (struct monst *,struct attack *)); 1041. E boolean FDECL(linedup, (XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P)); 1042. E boolean FDECL(lined_up, (struct monst *)); 1043. E struct obj *FDECL(m_carrying, (struct monst *,int)); 1044. E void FDECL(m_useup, (struct monst *,struct obj *)); 1045. #ifdef MUSE 1046. E void FDECL(m_throw, (struct monst *,int,int,int,int,int,struct obj *)); 1047. #endif 1048. 1049. /* ### muse.c ### */ 1050. 1051. #ifdef MUSE 1052. E boolean FDECL(find_defensive, (struct monst *)); 1053. E int FDECL(use_defensive, (struct monst *)); 1054. E int FDECL(rnd_defensive_item, (struct monst *)); 1055. E boolean FDECL(find_offensive, (struct monst *)); 1056. E int FDECL(use_offensive, (struct monst *)); 1057. E int FDECL(rnd_offensive_item, (struct monst *)); 1058. E boolean FDECL(find_misc, (struct monst *)); 1059. E int FDECL(use_misc, (struct monst *)); 1060. E int FDECL(rnd_misc_item, (struct monst *)); 1061. E boolean FDECL(searches_for_item, (struct monst *,struct obj *)); 1062. #endif 1063. 1064. /* ### music.c ### */ 1065. 1066. E void NDECL(awaken_soldiers); 1067. E int FDECL(do_play_instrument, (struct obj *)); 1068. 1069. /* ### o_init.c ### */ 1070. 1071. E int FDECL(letindex, (CHAR_P)); 1072. E void NDECL(init_objects); 1073. E int NDECL(find_skates); 1074. E void NDECL(oinit); 1075. E void FDECL(savenames, (int)); 1076. E void FDECL(restnames, (int)); 1077. E void FDECL(discover_object, (int,BOOLEAN_P)); 1078. E void FDECL(undiscover_object, (int)); 1079. E int NDECL(dodiscovered); 1080. 1081. /* ### objects.c ### */ 1082. 1083. E void NDECL(objects_init); 1084. 1085. /* ### objnam.c ### */ 1086. 1087. E char *FDECL(typename, (int)); 1088. E boolean FDECL(obj_is_pname, (struct obj *)); 1089. E char *FDECL(distant_name, (struct obj *,char *(*)(OBJ_P))); 1090. E char *FDECL(xname, (struct obj *)); 1091. E char *FDECL(doname, (struct obj *)); 1092. E char *FDECL(singular, (struct obj *,char *(*)(OBJ_P))); 1093. E char *FDECL(an, (const char *)); 1094. E char *FDECL(An, (const char *)); 1095. E char *FDECL(The, (const char *)); 1096. E char *FDECL(the, (const char *)); 1097. E char *FDECL(aobjnam, (struct obj *,const char *)); 1098. E char *FDECL(Doname2, (struct obj *)); 1099. E char *FDECL(makeplural, (const char *)); 1100. E char *FDECL(makesingular, (const char *)); 1101. E struct obj *FDECL(readobjnam, (char *)); 1102. E int FDECL(rnd_class, (int,int)); 1103. 1104. /* ### options.c ### */ 1105. 1106. E void NDECL(initoptions); 1107. E void FDECL(parseoptions, (char *,BOOLEAN_P,BOOLEAN_P)); 1108. E int NDECL(doset); 1109. E int NDECL(dotogglepickup); 1110. E void NDECL(option_help); 1111. E void FDECL(next_opt, (winid,const char *)); 1112. #ifdef TUTTI_FRUTTI 1113. E int FDECL(fruitadd, (char *)); 1114. #endif 1115. 1116. /* ### pager.c ### */ 1117. 1118. E int NDECL(dowhatis); 1119. E int NDECL(doquickwhatis); 1120. E int NDECL(doidtrap); 1121. E int NDECL(dowhatdoes); 1122. E int NDECL(dohelp); 1123. E int NDECL(dohistory); 1124. 1125. /* ### pcmain.c ### */ 1126. 1127. #if defined(MICRO) 1128. # ifdef CHDIR 1129. E void FDECL(chdirx, (char *,BOOLEAN_P)); 1130. # endif /* CHDIR */ 1131. #endif /* MICRO */ 1132. 1133. /* ### pcsys.c ### */ 1134. 1135. #ifdef MICRO 1136. E void NDECL(flushout); 1137. E int NDECL(dosh); 1138. # ifdef MFLOPPY 1139. E void FDECL(eraseall, (const char *,const char *)); 1140. E void FDECL(copybones, (int)); 1141. E void NDECL(playwoRAMdisk); 1142. E int FDECL(saveDiskPrompt, (int)); 1143. E void NDECL(gameDiskPrompt); 1144. # endif 1145. E void FDECL(append_slash, (char *)); 1146. E void FDECL(getreturn, (const char *)); 1147. E void VDECL(msmsg, (const char *,...)); 1148. E FILE *FDECL(fopenp, (const char *,const char *)); 1149. E void FDECL(msexit, (int)); 1150. #endif /* MICRO */ 1151. 1152. /* ### pctty.c ### */ 1153. 1154. #if defined(MICRO) 1155. E void NDECL(gettty); 1156. E void FDECL(settty, (const char *)); 1157. E void NDECL(setftty); 1158. E void VDECL(error, (const char *,...)); 1159. #endif /* MICRO */ 1160. 1161. /* ### pcunix.c ### */ 1162. 1163. #if defined(MICRO) 1164. E void FDECL(gethdate, (char *)); 1165. E int FDECL(uptodate, (int)); 1166. E void FDECL(regularize, (char *)); 1167. #endif /* MICRO */ 1168. 1169. /* ### pickup.c ### */ 1170. 1171. E int FDECL(collect_obj_classes, (char *,struct obj *,BOOLEAN_P,BOOLEAN_P)); 1172. #ifdef OVERLAY 1173. E int FDECL(ck_bag, (struct obj *)); 1174. E int FDECL(in_container, (struct obj *)); 1175. E int FDECL(out_container, (struct obj *)); 1176. #endif 1177. E void FDECL(pickup, (int)); 1178. E struct obj *FDECL(pick_obj, (struct obj *)); 1179. E int NDECL(encumber_msg); 1180. E int NDECL(doloot); 1181. E int FDECL(use_container, (struct obj *,int)); 1182. 1183. /* ### pline.c ### */ 1184. 1185. E void VDECL(pline, (const char *,...)) PRINTF_F(1,2); 1186. E void VDECL(Norep, (const char *,...)) PRINTF_F(1,2); 1187. E void VDECL(You, (const char *,...)) PRINTF_F(1,2); 1188. E void VDECL(Your, (const char *,...)) PRINTF_F(1,2); 1189. E void VDECL(verbalize, (const char *,...)) PRINTF_F(1,2); 1190. E void VDECL(raw_printf, (const char *,...)) PRINTF_F(1,2); 1191. E void VDECL(impossible, (const char *,...)) PRINTF_F(1,2); 1192. E const char *FDECL(align_str, (ALIGNTYP_P)); 1193. E void FDECL(mstatusline, (struct monst *)); 1194. E void NDECL(ustatusline); 1195. 1196. /* ### polyself.c ### */ 1197. 1198. E void NDECL(change_sex); 1199. E void NDECL(newman); 1200. #ifdef POLYSELF 1201. E void NDECL(polyself); 1202. E int FDECL(polymon, (int)); 1203. E void NDECL(rehumanize); 1204. E int NDECL(dobreathe); 1205. E int NDECL(dospit); 1206. E int NDECL(doremove); 1207. E int NDECL(dospinweb); 1208. E int NDECL(dosummon); 1209. E int NDECL(doconfuse); 1210. E int NDECL(dohide); 1211. E int NDECL(domindblast); 1212. #endif 1213. E const char *FDECL(body_part, (int)); 1214. E int NDECL(poly_gender); 1215. #ifdef POLYSELF 1216. E void FDECL(ugolemeffects, (int,int)); 1217. #endif 1218. 1219. /* ### potion.c ### */ 1220. 1221. E void FDECL(make_confused, (long,BOOLEAN_P)); 1222. E void FDECL(make_stunned, (long,BOOLEAN_P)); 1223. E void FDECL(make_blinded, (long,BOOLEAN_P)); 1224. E void FDECL(make_sick, (long,BOOLEAN_P)); 1225. E void FDECL(make_vomiting, (long,BOOLEAN_P)); 1226. E void FDECL(make_hallucinated, (long,BOOLEAN_P,long)); 1227. E int NDECL(dodrink); 1228. E int FDECL(dopotion, (struct obj *)); 1229. E int FDECL(peffects, (struct obj *)); 1230. E void FDECL(healup, (int,int,BOOLEAN_P,BOOLEAN_P)); 1231. E void FDECL(strange_feeling, (struct obj *,const char *)); 1232. E void FDECL(potionhit, (struct monst *,struct obj *)); 1233. E void FDECL(potionbreathe, (struct obj *)); 1234. E boolean FDECL(get_wet, (struct obj *)); 1235. E int NDECL(dodip); 1236. E void FDECL(djinni_from_bottle, (struct obj *)); 1237. 1238. /* ### pray.c ### */ 1239. 1240. #ifdef OVERLAY 1241. E int NDECL(prayer_done); 1242. #endif 1243. E int NDECL(dosacrifice); 1244. E int NDECL(dopray); 1245. E const char *NDECL(u_gname); 1246. E int NDECL(doturn); 1247. E const char *NDECL(a_gname); 1248. E const char *FDECL(a_gname_at, (XCHAR_P x,XCHAR_P y)); 1249. E const char *FDECL(align_gname, (ALIGNTYP_P)); 1250. E void FDECL(altar_wrath, (int,int)); 1251. 1252. 1253. /* ### priest.c ### */ 1254. 1255. E int FDECL(move_special, (struct monst *,BOOLEAN_P,SCHAR_P,BOOLEAN_P,BOOLEAN_P, 1256. XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P)); 1257. E char FDECL(temple_occupied, (char *)); 1258. E int FDECL(pri_move, (struct monst *)); 1259. E void FDECL(priestini, (d_level *,struct mkroom *,int,int,BOOLEAN_P)); 1260. E char *FDECL(priestname, (struct monst *)); 1261. E boolean FDECL(p_coaligned, (struct monst *)); 1262. E struct monst *FDECL(findpriest, (CHAR_P)); 1263. E void FDECL(intemple, (int)); 1264. E void FDECL(priest_talk, (struct monst *)); 1265. E struct monst *FDECL(mk_roamer, (struct permonst *,ALIGNTYP_P, 1266. XCHAR_P,XCHAR_P,BOOLEAN_P)); 1267. E void FDECL(reset_hostility, (struct monst *)); 1268. E boolean FDECL(in_your_sanctuary, (XCHAR_P,XCHAR_P)); 1269. E void FDECL(ghod_hitsu, (struct monst *)); 1270. E void NDECL(angry_priest); 1271. 1272. #ifdef MULDGN 1273. /* ### quest.c ### */ 1274. 1275. E void NDECL(quest_init); 1276. E void NDECL(onquest); 1277. E void NDECL(nemdead); 1278. E void NDECL(artitouch); 1279. E boolean NDECL(ok_to_quest); 1280. E void FDECL(leader_speaks, (struct monst *)); 1281. E void NDECL(nemesis_speaks); 1282. E void FDECL(quest_chat, (struct monst *)); 1283. E void FDECL(quest_talk, (struct monst *)); 1284. E void FDECL(quest_stat_check, (struct monst *)); 1285. 1286. /* ### questpgr.c ### */ 1287. 1288. E void NDECL(load_qtlist); 1289. E boolean FDECL(is_quest_artifact, (struct obj*)); 1290. E void FDECL(com_pager, (int)); 1291. E void FDECL(qt_pager, (int)); 1292. E struct permonst *NDECL(qt_montype); 1293. E const char *NDECL(ldrname); 1294. E boolean NDECL(leaderless); 1295. #endif 1296. 1297. /* ### random.c ### */ 1298. 1299. #if defined(RANDOM) && !defined(__GO32__) /* djgpp has its own random */ 1300. E void FDECL(srandom, (unsigned)); 1301. E char *FDECL(initstate, (unsigned,char *,int)); 1302. E char *FDECL(setstate, (char *)); 1303. E long NDECL(random); 1304. #endif /* RANDOM */ 1305. 1306. /* ### read.c ### */ 1307. 1308. E int NDECL(doread); 1309. E void FDECL(recharge, (struct obj *,int)); 1310. E int FDECL(seffects, (struct obj *)); 1311. #ifdef OVERLAY 1312. E void FDECL(set_lit, (int,int,genericptr_t)); 1313. #endif /* OVERLAY */ 1314. E void FDECL(litroom, (BOOLEAN_P,struct obj *)); 1315. E void FDECL(do_genocide, (int)); 1316. E void FDECL(punish, (struct obj *)); 1317. E void NDECL(unpunish); 1318. E boolean FDECL(cant_create, (int *)); 1319. #if defined(WIZARD) || defined(EXPLORE_MODE) 1320. E boolean NDECL(create_particular); 1321. #endif 1322. 1323. /* ### rect.c ### */ 1324. 1325. E void NDECL(init_rect); 1326. E NhRect *FDECL(get_rect, (NhRect *)); 1327. E NhRect *NDECL(rnd_rect); 1328. E void FDECL(remove_rect, (NhRect *)); 1329. E void FDECL(add_rect, (NhRect *)); 1330. E void FDECL(split_rects, (NhRect *,NhRect *)); 1331. 1332. /* ### restore.c ### */ 1333. 1334. E int FDECL(dorecover, (int)); 1335. E void NDECL(trickery); 1336. E void FDECL(getlev, (int,int,XCHAR_P,BOOLEAN_P)); 1337. E void NDECL(minit); 1338. #ifdef ZEROCOMP 1339. E int FDECL(mread, (int,genericptr_t,unsigned int)); 1340. #else 1341. E void FDECL(mread, (int,genericptr_t,unsigned int)); 1342. #endif 1343. 1344. /* ### rip.c ### */ 1345. 1346. E void FDECL(outrip, (int,winid)); 1347. 1348. /* ### rnd.c ### */ 1349. 1350. E int FDECL(rn2, (int)); 1351. E int FDECL(rnl, (int)); 1352. E int FDECL(rnd, (int)); 1353. E int FDECL(d, (int,int)); 1354. E int FDECL(rne, (int)); 1355. E int FDECL(rnz, (int)); 1356. 1357. /* ### rumors.c ### */ 1358. 1359. E char *FDECL(getrumor, (int)); 1360. E void FDECL(outrumor, (int,BOOLEAN_P)); 1361. E void FDECL(save_oracles, (int)); 1362. E void FDECL(restore_oracles, (int)); 1363. E int FDECL(doconsult, (struct monst *)); 1364. 1365. /* ### save.c ### */ 1366. 1367. E int NDECL(dosave); 1368. #ifndef NOSAVEONHANGUP 1369. E int NDECL(hangup); 1370. #endif /* NOSAVEONHANGUP */ 1371. E int NDECL(dosave0); 1372. #ifdef INSURANCE 1373. E void NDECL(savestateinlock); 1374. #endif 1375. #ifdef MFLOPPY 1376. E boolean FDECL(savelev, (int,XCHAR_P,int)); 1377. E boolean FDECL(swapin_file, (int)); 1378. E void NDECL(co_false); 1379. #else 1380. E void FDECL(savelev, (int,XCHAR_P,int)); 1381. #endif 1382. E void FDECL(bufon, (int)); 1383. E void FDECL(bflush, (int)); 1384. E void FDECL(bwrite, (int,genericptr_t,unsigned int)); 1385. E void FDECL(bclose, (int)); 1386. #ifdef TUTTI_FRUTTI 1387. E void FDECL(savefruitchn, (int,int)); 1388. #endif 1389. 1390. /* ### shk.c ### */ 1391. 1392. E char *FDECL(shkname, (struct monst *)); 1393. E void FDECL(shkgone, (struct monst *)); 1394. E void FDECL(set_residency, (struct monst *,BOOLEAN_P)); 1395. E void FDECL(replshk, (struct monst *,struct monst *)); 1396. E void FDECL(restshk, (struct monst *)); 1397. E int FDECL(inhishop, (struct monst *)); 1398. #ifdef SOUNDS 1399. E boolean FDECL(tended_shop, (struct mkroom *)); 1400. #endif 1401. E struct monst *FDECL(shop_keeper, (CHAR_P)); 1402. E void FDECL(delete_contents, (struct obj *)); 1403. E void FDECL(obfree, (struct obj *,struct obj *)); 1404. E int NDECL(dopay); 1405. E void FDECL(home_shk, (struct monst *,BOOLEAN_P)); 1406. E void FDECL(hot_pursuit, (struct monst *)); 1407. E void FDECL(make_happy_shk, (struct monst *,BOOLEAN_P)); 1408. E void FDECL(make_angry_shk, (struct monst *,XCHAR_P,XCHAR_P)); 1409. E boolean FDECL(paybill, (BOOLEAN_P)); 1410. E void FDECL(u_left_shop, (char *,BOOLEAN_P)); 1411. E void FDECL(u_entered_shop, (char *)); 1412. E void FDECL(pay_for_damage, (const char *)); 1413. E long FDECL(unpaid_cost, (struct obj *)); 1414. E long FDECL(contained_cost, (struct obj *,struct monst *,long,BOOLEAN_P)); 1415. E long FDECL(contained_gold, (struct obj *)); 1416. E void FDECL(picked_container, (struct obj *)); 1417. E void FDECL(addtobill, (struct obj *,BOOLEAN_P,BOOLEAN_P,BOOLEAN_P)); 1418. E void FDECL(splitbill, (struct obj *,struct obj *)); 1419. E void FDECL(subfrombill, (struct obj *,struct monst *)); 1420. E long FDECL(stolen_value, (struct obj *,XCHAR_P,XCHAR_P,BOOLEAN_P,BOOLEAN_P)); 1421. E void FDECL(sellobj_state, (BOOLEAN_P)); 1422. E void FDECL(sellobj, (struct obj *,XCHAR_P,XCHAR_P)); 1423. E int FDECL(doinvbill, (int)); 1424. E int FDECL(shkcatch, (struct obj *,XCHAR_P,XCHAR_P)); 1425. E void FDECL(add_damage, (XCHAR_P,XCHAR_P,long)); 1426. E char FDECL(repair_damage, (struct monst *,struct damage *)); 1427. E int FDECL(shk_move, (struct monst *)); 1428. E boolean FDECL(is_fshk, (struct monst *)); 1429. E void FDECL(shopdig, (int)); 1430. E char FDECL(inside_shop, (XCHAR_P,XCHAR_P)); 1431. E boolean FDECL(costly_spot, (XCHAR_P,XCHAR_P)); 1432. E struct obj *FDECL(shop_object, (XCHAR_P,XCHAR_P)); 1433. E void FDECL(price_quote, (struct obj *)); 1434. E void FDECL(check_unpaid, (struct obj *)); 1435. E void FDECL(costly_gold, (XCHAR_P,XCHAR_P,long)); 1436. E boolean FDECL(block_door, (XCHAR_P,XCHAR_P)); 1437. E boolean FDECL(block_entry, (XCHAR_P,XCHAR_P)); 1438. 1439. /* ### shknam.c ### */ 1440. 1441. E void FDECL(stock_room, (int,struct mkroom *)); 1442. E boolean FDECL(saleable, (int,struct obj *)); 1443. E int FDECL(get_shop_item, (int)); 1444. 1445. /* ### sit.c ### */ 1446. 1447. E void NDECL(take_gold); 1448. E int NDECL(dosit); 1449. E void NDECL(rndcurse); 1450. E void NDECL(attrcurse); 1451. 1452. /* ### sounds.c ### */ 1453. 1454. #ifdef SOUNDS 1455. E void NDECL(dosounds); 1456. E void FDECL(growl, (struct monst *)); 1457. E void FDECL(yelp, (struct monst *)); 1458. E void FDECL(whimper, (struct monst *)); 1459. #endif 1460. E int NDECL(dotalk); 1461. 1462. /* ### sp_lev.c ### */ 1463. 1464. E boolean FDECL(check_room, (xchar *,xchar *,xchar *,xchar *,BOOLEAN_P)); 1465. E boolean FDECL(create_room, (XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P, 1466. XCHAR_P,XCHAR_P,XCHAR_P,XCHAR_P)); 1467. E void FDECL(create_secret_door, (struct mkroom *,XCHAR_P)); 1468. E boolean FDECL(dig_corridor, (coord,coord,BOOLEAN_P,SCHAR_P,SCHAR_P)); 1469. E void FDECL(fill_room, (struct mkroom *,BOOLEAN_P)); 1470. E boolean FDECL(load_special, (const char *)); 1471. 1472. /* ### spell.c ### */ 1473. 1474. #ifdef OVERLAY 1475. E int NDECL(learn); 1476. #endif 1477. E int FDECL(study_book, (struct obj *)); 1478. E int NDECL(docast); 1479. E int FDECL(spelleffects, (int,BOOLEAN_P)); 1480. E void NDECL(losespells); 1481. E int NDECL(dovspell); 1482. 1483. /* ### steal.c ### */ 1484. 1485. #ifdef OVERLAY 1486. E int NDECL(stealarm); 1487. #endif 1488. E long NDECL(somegold); 1489. E void FDECL(stealgold, (struct monst *)); 1490. E int FDECL(steal, (struct monst *)); 1491. E void FDECL(mpickobj, (struct monst *,struct obj *)); 1492. E void FDECL(stealamulet, (struct monst *)); 1493. E void FDECL(relobj, (struct monst *,int,BOOLEAN_P)); 1494. 1495. /* ### timeout.c ### */ 1496. 1497. E void NDECL(nh_timeout); 1498. E void NDECL(hatch_eggs); 1499. E void NDECL(burn_lamps); 1500. E void NDECL(do_storms); 1501. 1502. 1503. /* ### topten.c ### */ 1504. 1505. E void FDECL(topten, (int)); 1506. E void FDECL(prscore, (int,char **)); 1507. E struct obj *FDECL(tt_oname, (struct obj *)); 1508. 1509. /* ### track.c ### */ 1510. 1511. E void NDECL(initrack); 1512. E void NDECL(settrack); 1513. E coord *FDECL(gettrack, (int,int)); 1514. 1515. /* ### trap.c ### */ 1516. 1517. E boolean FDECL(rust_dmg, (struct obj *,const char *,int,BOOLEAN_P)); 1518. E void FDECL(grease_protect, (struct obj *,const char *,BOOLEAN_P)); 1519. E struct trap *FDECL(maketrap, (int,int,int)); 1520. E boolean NDECL(safe_teleds); 1521. E void FDECL(fall_through, (BOOLEAN_P)); 1522. E void FDECL(dotrap, (struct trap *)); 1523. E void FDECL(seetrap, (struct trap *)); 1524. E int FDECL(mintrap, (struct monst *)); 1525. E void FDECL(selftouch, (const char *)); 1526. E void NDECL(float_up); 1527. E void FDECL(fill_pit, (int,int)); 1528. E int NDECL(float_down); 1529. E void NDECL(tele); 1530. E void FDECL(teleds, (int,int)); 1531. E int NDECL(dotele); 1532. E void NDECL(level_tele); 1533. E void FDECL(water_damage, (struct obj *,BOOLEAN_P)); 1534. E boolean NDECL(drown); 1535. E void FDECL(drain_en, (int)); 1536. E int NDECL(dountrap); 1537. E int FDECL(untrap, (BOOLEAN_P)); 1538. E boolean FDECL(chest_trap, (struct obj *,int,BOOLEAN_P)); 1539. E void FDECL(deltrap, (struct trap *)); 1540. E struct trap *FDECL(t_at, (int,int)); 1541. E void FDECL(b_trapped, (const char *)); 1542. E boolean NDECL(unconscious); 1543. E boolean NDECL(lava_effects); 1544. 1545. /* ### u_init.c ### */ 1546. 1547. E void NDECL(u_init); 1548. E void NDECL(plnamesuffix); 1549. 1550. /* ### uhitm.c ### */ 1551. 1552. E struct monst *FDECL(clone_mon, (struct monst *)); 1553. E boolean FDECL(special_case, (struct monst *)); 1554. E schar FDECL(find_roll_to_hit, (struct monst *)); 1555. E boolean FDECL(attack, (struct monst *)); 1556. E boolean FDECL(hmon, (struct monst *,struct obj *,int)); 1557. #ifdef POLYSELF 1558. E int FDECL(damageum, (struct monst *,struct attack *)); 1559. E void FDECL(missum, (struct monst *,struct attack *)); 1560. #endif 1561. E int FDECL(passive, (struct monst *,BOOLEAN_P,int,BOOLEAN_P)); 1562. E void FDECL(stumble_onto_mimic, (struct monst *)); 1563. 1564. #ifdef UNIX 1565. 1566. /* ### unixmain.c ### */ 1567. # ifdef PORT_HELP 1568. E void NDECL(port_help); 1569. # endif 1570. 1571. /* ### unixtty.c ### */ 1572. 1573. E void NDECL(gettty); 1574. E void FDECL(settty, (const char *)); 1575. E void NDECL(setftty); 1576. E void NDECL(intron); 1577. E void NDECL(introff); 1578. E void VDECL(error, (const char *,...)) PRINTF_F(1,2); 1579. 1580. /* ### unixunix.c ### */ 1581. 1582. E void FDECL(gethdate, (const char *)); 1583. E int FDECL(uptodate, (int)); 1584. E void NDECL(getlock); 1585. E void FDECL(regularize, (char *)); 1586. # ifdef SHELL 1587. E int NDECL(dosh); 1588. # endif /* SHELL */ 1589. # if defined(SHELL) || defined(DEF_PAGER) || defined(DEF_MAILREADER) 1590. E int FDECL(child, (int)); 1591. # endif 1592. 1593. #endif /* UNIX */ 1594. 1595. /* ### vault.c ### */ 1596. 1597. E boolean FDECL(grddead, (struct monst *)); 1598. E char FDECL(vault_occupied, (char *)); 1599. E void NDECL(invault); 1600. E int FDECL(gd_move, (struct monst *)); 1601. E void NDECL(paygd); 1602. E long NDECL(hidden_gold); 1603. #ifdef SOUNDS 1604. E boolean NDECL(gd_sound); 1605. #endif 1606. 1607. /* ### version.c ### */ 1608. 1609. E int NDECL(doversion); 1610. E int NDECL(doextversion); 1611. #ifdef MICRO 1612. E boolean FDECL(comp_times, (long)); 1613. #endif 1614. 1615. /* ### vis_tab.c ### */ 1616. 1617. #ifdef VISION_TABLES 1618. E void NDECL(vis_tab_init); 1619. #endif 1620. 1621. /* ### vision.c ### */ 1622. 1623. E void NDECL(vision_init); 1624. E int FDECL(does_block, (int,int,struct rm*)); 1625. E void NDECL(vision_reset); 1626. E void FDECL(vision_recalc, (int)); 1627. E void FDECL(block_point, (int,int)); 1628. E void FDECL(unblock_point, (int,int)); 1629. E boolean FDECL(clear_path, (int,int,int,int)); 1630. E void FDECL(do_clear_area, (int,int,int, 1631. void (*)(int,int,genericptr_t),genericptr_t)); 1632. 1633. #ifdef VMS 1634. 1635. /* ### vmsfiles.c ### */ 1636. 1637. E int FDECL(vms_link, (const char *,const char *)); 1638. E int FDECL(vms_unlink, (const char *)); 1639. E int FDECL(vms_creat, (const char *,unsigned int)); 1640. E int FDECL(vms_open, (const char *,int,unsigned int)); 1641. E boolean FDECL(same_dir, (const char *,const char *)); 1642. E int FDECL(c__translate, (int)); 1643. 1644. /* ### vmsmail.c ### */ 1645. 1646. E unsigned long NDECL(init_broadcast_trapping); 1647. E unsigned long NDECL(enable_broadcast_trapping); 1648. E unsigned long NDECL(disable_broadcast_trapping); 1649. # if 0 1650. E struct mail_info *NDECL(parse_next_broadcast); 1651. # endif /*0*/ 1652. 1653. /* ### vmsmain.c ### */ 1654. 1655. E int FDECL(main, (int, char **)); 1656. # ifdef CHDIR 1657. E void FDECL(chdirx, (char *,BOOLEAN_P)); 1658. # endif /* CHDIR */ 1659. 1660. /* ### vmsmisc.c ### */ 1661. 1662. E void NDECL(vms_abort); 1663. E void FDECL(vms_exit, (int)); 1664. 1665. /* ### vmstty.c ### */ 1666. 1667. E int NDECL(vms_getchar); 1668. E void NDECL(gettty); 1669. E void FDECL(settty, (const char *)); 1670. E void FDECL(shuttty, (const char *)); 1671. E void NDECL(setftty); 1672. E void NDECL(intron); 1673. E void NDECL(introff); 1674. E void VDECL(error, (const char *,...)) PRINTF_F(1,2); 1675. 1676. /* ### vmsunix.c ### */ 1677. 1678. E void FDECL(gethdate, (const char *)); 1679. E boolean FDECL(uptodate, (int)); 1680. E void NDECL(getlock); 1681. E void FDECL(regularize, (char *)); 1682. E int NDECL(vms_getuid); 1683. E char *FDECL(basename, (const char *)); 1684. E boolean FDECL(file_is_stmlf, (int)); 1685. E char *NDECL(verify_termcap); 1686. # if defined(CHDIR) || defined(SHELL) || defined(SECURE) 1687. E void NDECL(privoff); 1688. E void NDECL(privon); 1689. # endif 1690. # ifdef SHELL 1691. E int NDECL(dosh); 1692. # endif 1693. # if defined(SHELL) || defined(MAIL) 1694. E int FDECL(vms_doshell, (const char *,BOOLEAN_P)); 1695. # endif 1696. # ifdef SUSPEND 1697. E int NDECL(dosuspend); 1698. # endif 1699. 1700. #endif /* VMS */ 1701. 1702. /* ### weapon.c ### */ 1703. 1704. E int FDECL(hitval, (struct obj *,struct permonst *)); 1705. E int FDECL(dmgval, (struct obj *,struct permonst *)); 1706. E void NDECL(set_uasmon); 1707. E struct obj *FDECL(select_rwep, (struct monst *)); 1708. E struct obj *FDECL(select_hwep, (struct monst *)); 1709. #ifdef MUSE 1710. E void FDECL(possibly_unwield, (struct monst *)); 1711. E int FDECL(mon_wield_item, (struct monst *)); 1712. E void FDECL(sort_mwep, (struct monst *)); 1713. #endif 1714. E int NDECL(abon); 1715. E int NDECL(dbon); 1716. 1717. /* ### were.c ### */ 1718. 1719. E void FDECL(were_change, (struct monst *)); 1720. E void FDECL(new_were, (struct monst *)); 1721. E boolean FDECL(were_summon, (struct permonst *,BOOLEAN_P)); 1722. #ifdef POLYSELF 1723. E void NDECL(you_were); 1724. #endif /* POLYSELF */ 1725. 1726. /* ### wield.c ### */ 1727. 1728. E void FDECL(setuwep, (struct obj *)); 1729. E void NDECL(uwepgone); 1730. E int NDECL(dowield); 1731. E void FDECL(erode_weapon, (BOOLEAN_P)); 1732. E int FDECL(chwepon, (struct obj *,int)); 1733. E int FDECL(welded, (struct obj *)); 1734. E void FDECL(weldmsg, (struct obj *,BOOLEAN_P)); 1735. 1736. /* ### windows.c ### */ 1737. 1738. E void FDECL(choose_windows, (const char *)); 1739. 1740. /* ### wizard.c ### */ 1741. 1742. E void NDECL(amulet); 1743. E int FDECL(mon_has_amulet, (struct monst *)); 1744. E int FDECL(mon_has_special, (struct monst *)); 1745. E int FDECL(tactics, (struct monst *)); 1746. E void NDECL(aggravate); 1747. E void NDECL(clonewiz); 1748. E void FDECL(nasty, (struct monst*)); 1749. E void NDECL(resurrect); 1750. E void NDECL(intervene); 1751. E void FDECL(wizdead, (struct monst *)); 1752. E void FDECL(cuss, (struct monst *)); 1753. 1754. /* ### worm.c ### */ 1755. 1756. E int NDECL(get_wormno); 1757. E void FDECL(initworm, (struct monst *,int)); 1758. E void FDECL(worm_move, (struct monst *)); 1759. E void FDECL(worm_nomove, (struct monst *)); 1760. E void FDECL(wormgone, (struct monst *)); 1761. E void FDECL(wormhitu, (struct monst *)); 1762. E void FDECL(cutworm, (struct monst *,XCHAR_P,XCHAR_P,struct obj *)); 1763. E void FDECL(see_wsegs, (struct monst *)); 1764. E void FDECL(save_worm, (int,int)); 1765. E void FDECL(rest_worm, (int)); 1766. E void FDECL(place_wsegs, (struct monst *)); 1767. E void FDECL(remove_worm, (struct monst *)); 1768. E void FDECL(place_worm_tail_randomly, (struct monst *,XCHAR_P,XCHAR_P)); 1769. E int FDECL(count_wsegs, (struct monst *)); 1770. 1771. /* ### worn.c ### */ 1772. 1773. E void FDECL(setworn, (struct obj *,long)); 1774. E void FDECL(setnotworn, (struct obj *)); 1775. E int FDECL(find_mac, (struct monst *)); 1776. E void FDECL(m_dowear, (struct monst *,BOOLEAN_P)); 1777. E struct obj *FDECL(which_armor, (struct monst *,long)); 1778. E void FDECL(mon_break_armor, (struct monst *)); 1779. 1780. /* ### write.c ### */ 1781. 1782. E int FDECL(dowrite, (struct obj *)); 1783. 1784. /* ### zap.c ### */ 1785. 1786. #if defined(OVERLAY) || defined(MUSE) 1787. E int FDECL(bhito, (struct obj *,struct obj *)); 1788. #endif 1789. E struct monst *FDECL(revive, (struct obj *,BOOLEAN_P)); 1790. E int FDECL(zappable, (struct obj *)); 1791. E void FDECL(zapnodir, (struct obj *)); 1792. E int NDECL(dozap); 1793. E int FDECL(zapyourself, (struct obj *)); 1794. E void FDECL(cancel_monst, (struct monst *,struct obj *, 1795. BOOLEAN_P,BOOLEAN_P,BOOLEAN_P)); 1796. E void FDECL(weffects, (struct obj *)); 1797. E const char *FDECL(exclam, (int force)); 1798. E void FDECL(hit, (const char *,struct monst *,const char *)); 1799. E void FDECL(miss, (const char *,struct monst *)); 1800. E struct monst *FDECL(bhit, (int,int,int,int,int (*)(MONST_P,OBJ_P), 1801. int (*)(OBJ_P,OBJ_P),struct obj *)); 1802. E struct monst *FDECL(boomhit, (int,int)); 1803. E void FDECL(buzz, (int,int,XCHAR_P,XCHAR_P,int,int)); 1804. E int FDECL(zap_over_floor, (XCHAR_P,XCHAR_P,int,boolean *)); 1805. E void FDECL(rloco, (struct obj *)); 1806. E void FDECL(fracture_rock, (struct obj *)); 1807. E boolean FDECL(break_statue, (struct obj *)); 1808. E void FDECL(destroy_item, (int,int)); 1809. E int FDECL(destroy_mitem, (struct monst *,int,int)); 1810. E int FDECL(resist, (struct monst *,CHAR_P,int,int)); 1811. E void NDECL(makewish); 1812. 1813. #endif /* !MAKEDEFS_C && !LEV_LEX_C */ 1814. 1815. #undef E 1816. 1817. #endif /* EXTERN_H */ extern.h